package com.newtouch.cq.base.starter.business.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.newtouch.cq.base.starter.lang.em.MenuTypeEnum;
import com.newtouch.cq.lang.em.StatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 系统菜单表
 * </p>
 *
 * @author Alex
 * @since 2021-08-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "SysMenu对象", description = "系统菜单表")
public class SysMenu implements Serializable {


    @ApiModelProperty(value = "唯一标识")
    protected Long id;

    @ApiModelProperty(value = "菜单名称")
    @TableField("menu_name")
    private String menuName;

    @ApiModelProperty(value = "菜单授权标识")
    private String permission;

    @ApiModelProperty(value = "请求链接（菜单的时候，前端URL）")
    private String url;

    @ApiModelProperty(value = "请求方法")
    private String method;

    @ApiModelProperty(value = "父级标识")
    @TableField("parent_id")
    private Long parentId;

    @ApiModelProperty(value = "图标")
    private String icon;

    @ApiModelProperty(value = "VUE页面")
    private String component;

    @ApiModelProperty(value = "类型 1：菜单 2：接口")
    private MenuTypeEnum type;

    @ApiModelProperty(value = "状态  -1：删除 0：停用 1：启用  ")
    private StatusEnum status;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "创建者标识")
    @TableField("create_id")
    private Long createId;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新者标识")
    @TableField("update_id")
    private Long updateId;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;


}
